3203
12068
 
특히 두 가지 사항에주의가 필요할 수 있습니다.
const RecaptchaItem = React.createClass ({..})를 전역으로 선언하고 render ()에서 지역 변수로 만들지 마십시오.
onloadCallback과 verifyCallback을 모두 제공해야합니다. onloadCallback이 누락 된 경우 reCAPTCHA는 verifyCallback 호출을 트리거하지 않으며 Form은 값을 가져올 수 없습니다. 이것은 아마도 react-recaptcha의 버그 일 것입니다.
다음은 올바른 코드입니다.
const {Form, Icon, Input, Button, Checkbox} = antd;
const FormItem = Form.Item;
const RecaptchaItem = React.createClass ({
verifyCallback (result) {
console.log ( 'verifyCallback', 결과);
this.props.onChange (결과); // 확인 후 양식에 알림
},
render () {
return ( {}}
verifyCallback = {this.verifyCallback}
/>);
}
});
const NormalLoginForm = Form.create () (React.createClass ({
handleSubmit (e) {
e.preventDefault ();
this.props.form.validateFields ((err, values) => {
if (! err) {
console.log ( '수신 된 값 형식 :', 값);
}
});
},
render () {
const {getFieldDecorator} = this.props.form;
반환 (
{getFieldDecorator ( 'userName', { 규칙 : [{필수 : 참, 메시지 : '사용자 이름을 입력하십시오!' }], }) ( <입력 addonBefore = {} placeholder = "Username"/> )} {getFieldDecorator ( 'password', { 규칙 : [{필수 : 참, 메시지 : '암호를 입력하십시오!' }], }) ( <입력 addonBefore = {} type = "password"placeholder = "Password"/> )} {getFieldDecorator ( 'captcha', { rules : [{required : true, message : 'Please input the captcha you got!' }], }) ()} {getFieldDecorator ( '기억', { valuePropName : '선택됨', initialValue : 참, }) ( 기억하기 )} 비밀번호 찾기